home *** CD-ROM | disk | FTP | other *** search
/ Giga Games 1 / Giga Games.iso / net / usenet / volume7 / nethack3 / patch8x < prev    next >
Encoding:
Internet Message Format  |  1990-06-08  |  42.8 KB

  1. Path: uunet!zephyr.ens.tek.com!tekred!saab!billr
  2. From: billr@saab.CNA.TEK.COM (Bill Randle)
  3. Newsgroups: comp.sources.games
  4. Subject: v10i042:  NetHack3 -  display oriented dungeons & dragons (Ver. 3.0), Patch8x
  5. Message-ID: <5750@tekred.CNA.TEK.COM>
  6. Date: 5 Jun 90 18:05:32 GMT
  7. Sender: news@tekred.CNA.TEK.COM
  8. Lines: 1052
  9. Approved: billr@saab.CNA.TEK.COM
  10.  
  11. Submitted-by: Izchak Miller <izchak@linc.cis.upenn.edu>
  12. Posting-number: Volume 10, Issue 42
  13. Archive-name: NetHack3/Patch8x
  14. Patch-To: NetHack3: Volume 7, Issue 56-93
  15.  
  16.  
  17.  
  18. #! /bin/sh
  19. # This is a shell archive.  Remove anything before this line, then unpack
  20. # it by saving it into a file and typing "sh file".  To overwrite existing
  21. # files, type "sh file -c".  You can also feed this as standard input via
  22. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  23. # will see the following message at the end:
  24. #        "End of archive 24 (of 24)."
  25. # Contents:  Files amiga/NHScore.uu amiga/NHinfo.uu amiga/NewGame.uu
  26. #   amiga/dflticon.uu auxil/history include/decl.h mac/MD.rsrc.hqx
  27. #   others/ovlmgr.uu vms/vmstty.c
  28. # Wrapped by billr@saab on Mon Jun  4 15:40:35 1990
  29. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  30. echo shar: Extracting \"'Files'\" \(4567 characters\)
  31. sed "s/^X//" >'Files' <<'END_OF_FILE'
  32. XThis is a listing of all files in a full NetHack 3.0 distribution, organized
  33. Xin their standard manner on a UNIX system.  It indicates which files are 
  34. Xnecessary for which versions, so that you can tell which files may be deleted
  35. Xfrom or not transferred to your system if you wish.
  36. X
  37. X
  38. X(files in top directory)
  39. XFiles           Install.ami     Install.dos     Install.mac     Install.ovl
  40. XInstall.unix    Install.vms     Makefile.top    Porting         README
  41. X
  42. Xamiga:
  43. X(files for Amiga version)
  44. XGBinfo.uu       Makefile.ami    NHScore.uu      NHinfo.uu       NetHack.cnf
  45. XNewGame.uu      ami.lnk         amidos.c        amifont.uu      amifont8.uu
  46. Xamimenu.c       amitcap.c       amitty.c        amiunix.c       amiwbench.c
  47. Xamiwind.c       compact.lat     dflticon.uu
  48. X
  49. Xauxil:
  50. X(files for all versions)
  51. XGuidebook.mn    Guidebook.mss   Guidebook.tex   castle.des      cmdhelp
  52. Xdata.base       endgame.des     help            hh              history
  53. Xlicense         opthelp         oracles         rumors.fal      rumors.tru
  54. Xtower.des
  55. X(files for UNIX versions)
  56. XMakefile.auxil  lev_comp.6      nethack.6       nethack.sh
  57. X(file for Macintosh version)
  58. XMacHelp
  59. X
  60. Xinclude:
  61. X(files for all versions)
  62. XMacAlert.h      amiconf.h       artifact.h      attrib.h        color.h
  63. Xconfig.h        coord.h         decl.h          def_os2.h       edog.h
  64. Xepri.h          eshk.h          extern.h        flag.h          func_tab.h
  65. Xglobal.h        gold.h          hack.h          lev.h           macconf.h
  66. Xmfndpos.h       mkroom.h        monattk.h       mondata.h       monflag.h
  67. Xmonst.h         monsym.h        msdos.h         obj.h           objclass.h
  68. Xpatchlevel.h    pcconf.h        permonst.h      prop.h          rm.h
  69. Xsp_lev.h        spell.h         system.h        termcap.h       tosconf.h
  70. Xtradstdc.h      trampoli.h      trap.h          unixconf.h      vault.h
  71. Xvmsconf.h       wseg.h          you.h           youprop.h
  72. X(file for special level compiler (STRONGHOLD option))
  73. Xlev_comp.h
  74. X
  75. Xmac:
  76. X(files for Macintosh version)
  77. XMD.proj.hqx     MD.rsrc.hqx     MacAlert.c      NH.proj.hqx     NH.rsrc.hqx
  78. XSL.proj.hqx     Segments.mac    mac.c           macfile.c       macinit.c
  79. X
  80. Xothers:
  81. X(files for MSDOS (and OS/2) version)
  82. XMakefile.lib    Makefile.msc    Makefile.os2    Makefile.ovl    Makefile.pc
  83. XMakefile.tcc    NetHack.cnf     exesmurf.c      exesmurf.uu     maintain.ovl
  84. Xovlmgr.asm      ovlmgr.doc      ovlmgr.uu       splitf.c        splitf.uu
  85. Xsuputils.ovl    termcap.uu      trampoli.c
  86. X(file for MSDOS and VMS versions)
  87. Xtermcap
  88. X(files for MSDOS, Amiga, and Atari versions)
  89. Xlev_lex.c       pcmain.c
  90. X(files for MSDOS and Atari versions)
  91. Xmsdos.c         pctty.c         pcunix.c
  92. X(files for Atari version)
  93. XMakefile.st     atari.cnf       atarifnt.uue
  94. X(Berkeley random number file, which may be included in any version)
  95. Xrandom.c
  96. X
  97. Xsrc:
  98. X(files for all versions)
  99. Xallmain.c       alloc.c         apply.c         artifact.c      attrib.c
  100. Xbones.c         cmd.c           dbridge.c       decl.c          demon.c
  101. Xdo.c            do_name.c       do_wear.c       dog.c           dogmove.c
  102. Xdokick.c        dothrow.c       eat.c           end.c           engrave.c
  103. Xexper.c         extralev.c      fountain.c      getline.c       hack.c
  104. Xinvent.c        ioctl.c         lock.c          mail.c          makedefs.c
  105. Xmakemon.c       mcastu.c        mhitm.c         mhitu.c         mklev.c
  106. Xmkmaze.c        mkobj.c         mkroom.c        mon.c           mondata.c
  107. Xmonmove.c       monst.c         mthrowu.c       music.c         o_init.c
  108. Xobjects.c       objnam.c        options.c       pager.c         panic.c
  109. Xpickup.c        polyself.c      potion.c        pray.c          pri.c
  110. Xpriest.c        prisym.c        read.c          restore.c       rip.c
  111. Xrnd.c           rumors.c        save.c          search.c        shk.c
  112. Xshknam.c        sit.c           sounds.c        sp_lev.c        spell.c
  113. Xsteal.c         termcap.c       timeout.c       topl.c          topten.c
  114. Xtrack.c         trap.c          u_init.c        uhitm.c         vault.c
  115. Xversion.c       weapon.c        were.c          wield.c         wizard.c
  116. Xworm.c          worn.c          write.c         zap.c
  117. X(files for special level compiler (STRONGHOLD option))
  118. Xlev_comp.c      lev_comp.l      lev_comp.y      lev_lex.c       lev_main.c
  119. X(files for UNIX versions)
  120. XMakefile.src    unixmain.c      unixtty.c       unixunix.c
  121. X
  122. Xvms:
  123. X(files for VMS version)
  124. Xinstall.com     lev_lex.h       oldcrtl.c       spec_lev.com    vmsbuild.com
  125. Xvmsmain.c       vmsmisc.c       vmstty.c        vmsunix.c
  126. X(GNU termcap files that support VMS version)
  127. Xvmstermcap.c    vmstparam.c
  128. END_OF_FILE
  129. if test 4567 -ne `wc -c <'Files'`; then
  130.     echo shar: \"'Files'\" unpacked with wrong size!
  131. fi
  132. # end of 'Files'
  133. echo shar: Extracting \"'amiga/NHScore.uu'\" \(2564 characters\)
  134. sed "s/^X//" >'amiga/NHScore.uu' <<'END_OF_FILE'
  135. Xbegin 644 NetHackScore.info
  136. XMXQ```0``````#`!)`%``*P`&``,``0`IH@``*:(8````````````````````
  137. XM````!/X`*&%0`"*7J````,H````^`````````````)Q```````!0`"H``@`"
  138. XM.<@#````````````````````````````````````````````````/______X
  139. XM!X```/\\__]__?_\``#_'/_^?_W__P``_PSP?!_Y__\``?\DYSY_^_S_@`#_
  140. XM,.`^?_G^?X``_SCG_F_]_S^``'\\\'\?_/^_@``?______X_OX``````````
  141. XM`'^`````'_______@````!_______P`````_______\`````(&#@Q'!^````
  142. XM`$_.3F,G/@````#@S\YG(#P`````_DY.9^?X`````<#@X,/P>`````/_____
  143. XM__`````#_______@````!_______X`````_______\`````/______^`````
  144. XM``````'_@``'_______"_P``#_______GWX``!YS___Q_[Y^```^<___^?]\
  145. XM_```/G.#\'G/?_@``#X#^><YGT?X```^<\'G^#\/\```/G,YYSF??^```!YS
  146. XMA/!QSS^````/______^?````!_______S```````````````````````````
  147. XM``````````````````````````````````````````````````````````!_
  148. XM______S_P```P``````'^'P``0##``"``@`#``$`XP`!@`(``(`#`/,/@^`&
  149. XM``#``@#;&,&`!`,`0`,`SQ_!@`8!@$`!`,<8`9`"`,!``8###X#@`P!`0`#@
  150. XM``````'`0$``/________X!`````(```````0````&```````,````!`````
  151. XM``"`````WY\?.X^!@````+`QL9S8P0````$?,#&8W\(````#`;&QF!@&````
  152. XM`C\?'SP/A`````0```````@````,```````8````"```````$````!``````
  153. XM`"`````P``````!@``?_______X`0``8```````]`,``,```````8(&``"&,
  154. XM```.`$&!``!!C```!@"#`P``08Q\#X8P@`8``$'\!AC&8,0$``!!C#X8!\"`
  155. XM"```08S&&,9@@!@``&&,>P^.,,!P```P``````!@P```&```````,X````?_
  156. XM______X``````````````````````````````````````````````````%``
  157. XM*@`"``(]$`,````````````````````````````````````````````````_
  158. XM______@'@```_SS__W_]__P``/\<__Y__`/_``#_#/!\'_@`/P`!_R3G/G_X
  159. XM``>``/\PX#Y_^`````#_..?^;_P`````?SSP?Q_\X````!_______C@`````
  160. XM````````8#`````?_____@``````'_____X``````#______```````@8.#$
  161. XM<`,`````3\Y.8R<#`````.#/SF<@(P````#^3DYGY_L````!P.#@P_!_@```
  162. XM`________.````/______^`````'_______@````#_______P`````______
  163. XM_X```````````?^```?______\+_```/______^??@``'G/___'_OAX``#YS
  164. XM___Y_WS<```^<X/P><]#N```/@/YYSF?3O@``#YSP>?X/P'P```^<SGG.9]_
  165. XMX```'G.$\''//X````_______Y\````'_______,````````````````````
  166. XM````````````````````````````````````````````````````````````
  167. XM`````'_______/_```#```````?X?``!`,,``(`"``,``0#C``&``_P`@`,`
  168. XM\P^#X`8#P,`"`-L8P8`$`#A``P#/'\&`!@`'P`$`QQ@!D`(``'@!@,,/@.`#
  169. XM```&`.```````<```@`_________X#(````@`````0`"````8`````$_\@``
  170. XM`$``````C^0```#?GQ\[C\.(````L#&QG-CC<````1\P,9C?WX````,!L;&8
  171. XM&`<````"/Q\?/`^'@```!```````'.````P``````!@````(```````0````
  172. XM$```````(````#```````&``!________@!``!@``````#T`P``P``````!@
  173. XM@8``(8P```X`08$``$&,```&`(/#``!!C'P/AC"#A@``0?P&&,9@S@0``$&,
  174. XM/A@'P(`(``!!C,88QF"`&```88Q[#XXPP'```#```````&#````8```````S
  175. XM@```!________@``````````````````````````````````````````````
  176. XD`!!(86-K17AE.DYE=$AA8VL`````"`````I30T]212!A;&P`
  177. X`
  178. Xend
  179. END_OF_FILE
  180. if test 2564 -ne `wc -c <'amiga/NHScore.uu'`; then
  181.     echo shar: \"'amiga/NHScore.uu'\" unpacked with wrong size!
  182. fi
  183. # end of 'amiga/NHScore.uu'
  184. echo shar: Extracting \"'amiga/NHinfo.uu'\" \(2509 characters\)
  185. sed "s/^X//" >'amiga/NHinfo.uu' <<'END_OF_FILE'
  186. Xbegin 644 NetHack.info
  187. XMXQ```0`````"$@`2`%``*P`&``,``0`C>P``(WN@````````````````````
  188. XM`````R(``````````````@X````'`````````````)Q```````!0`"H``@`!
  189. XM@;@#``````#_____________^/____QC___X__@____\8___^/_X#____&/_
  190. XM__C_^,/___QC___X__CP___\8___^/_X_#___&/___C_^/\/__QC___X__C_
  191. XMP__\8___^/_X__#__&````#_^/_\/_Q@````__C__P_\8___^/_X___#_&/_
  192. XM__C_^/__\/QC___X__C___P``!__^/_X___\```'__C_^/__^`!CX'_X__C_
  193. XM__`08_@?^/_X___P_&/^#_C_____\/___X________/____'____________
  194. XMX____________^/________\``?#________^``!C_________!_P!______
  195. XM___P__`_________^```/_________X`#A____________\/____________
  196. XM#____________P?___________^'____________A________/___X?_____
  197. XM__@/__^/_______\`__\#________@#_X#_________`'@#__________@`?
  198. XM______________________________\`````````````!P````.<```'``?`
  199. XM```#G```!P`'\````YP```<`!SP```.<```'``</```#G```!P`'`\```YP`
  200. XM``<`!P#P``.<```'``<`/``#G```!P`'``\``Y____\`!P`#P`.?____``<`
  201. XM`/`#G```!P`'```\`YP```<`!P``#P.<```'``<```,`````!P`'````````
  202. XM``<`!P```!*<```'``<````/G```!P`'`````YP```<`````````````````
  203. XM````````````````````````````````````````````````````````````
  204. XM````````````````````````````````````````````````````````````
  205. XM````````````````````````````````````````````````````````````
  206. XM````````````````````````````````````````````````````````````
  207. XM`````````````````````````````````````````````````````````%``
  208. XM*@`"``&%``,``````/_____________X_____&/___C_^#____QC___X__@/
  209. XM___\8___^/_XP____&/___C_^/#___QC___X__C\/__\8___^/_X_P___&/_
  210. XM__C_^/_#__QC___X__C_\/_\8````/_X__P__&````#_^/__#_QC___X__C_
  211. XM_\/\8___^/_X___P_&/___C_^/___```'__X__C___@```?_^/_X__^``&/@
  212. XM?_C_^/_``!!C^!_X__C^``#\8_X/^/__^```____C_____,!D____\?____X
  213. XM`!_____C____^``?____X_____P`/_P`!\/____^&'_X``&/_____QO_\'_`
  214. XM'_________#_\#_________X```__________@`.'____________P______
  215. XM______\/____________!____________X?___________^'_______\____
  216. XMA_______^`___X________P#__P/_______^`/_@/________\`>`/______
  217. XM___^`!_______________________________P`````````````'`````YP`
  218. XM``<`!\````.<```'``?P```#G```!P`'/````YP```<`!P\```.<```'``<#
  219. XMP``#G```!P`'`/```YP```<`!P`\``.<```'``<`#P`#G____P`'``/``Y__
  220. XM__\`!P``\`.<```'``<``#P#G```!P`'```/`YP```<`!P```P`````'``<`
  221. XM````````!P`'````$IP```<`!P````^<```'``<````#G```!P``````````
  222. XM``````,!@````````````````````````?^```````````!_````````````
  223. XM'````````````!@````````````8````````````&````````````#P`````
  224. XM``````#G````````````````````````````````````````````````````
  225. XM````````````````````````````````````````````````````````````
  226. XK````````````````````````````````````````````````````````````
  227. X`
  228. Xend
  229. END_OF_FILE
  230. if test 2509 -ne `wc -c <'amiga/NHinfo.uu'`; then
  231.     echo shar: \"'amiga/NHinfo.uu'\" unpacked with wrong size!
  232. fi
  233. # end of 'amiga/NHinfo.uu'
  234. echo shar: Extracting \"'amiga/NewGame.uu'\" \(2535 characters\)
  235. sed "s/^X//" >'amiga/NewGame.uu' <<'END_OF_FILE'
  236. Xbegin 644 NewGame.info
  237. XMXQ```0``````D0`2`%``*P`&``,``0`BTP``(P&8````````````````````
  238. XM````!/X`(M-@`````````3<````'`````````````)Q```````!0`"H``@`!
  239. XM@^@#``````#_____________^/____QC___X__@____\8___^/_X#____&/_
  240. XM__C_^,/___QC___X__CP___\8___^/_X_#___&/___C_^/\/__QC___X__C_
  241. XMP__\8___^/_X__#__&````#_^/_\/_Q@````__C__P_\8___^/_X___#_&/_
  242. XM__C_^/__\/QC___X__C___P``!__^/_X___\```'__C_^/__^`!CX'_X__C_
  243. XM__`08_@?^/_X___P_&/^#_C_____\/___X________/____'____\#______
  244. XMX_____.?_____^/____SG__\``?#____\Y__^``!C_____.?__!_P!______
  245. XM___P__`_____^#__^```/_____.?__X`#A_____P'_____\/____\_______
  246. XM#_____@______P?___________^'____YY______A____^2?_/___X?____D
  247. XMG_@/__^/____\S_\`__\#_____,__@#_X#_________`'@#__________@`?
  248. XM______________________________\`````````````!P````.<```'``?`
  249. XM```#G```!P`'\````YP```<`!SP```.<```'``</```#G```!P`'`\```YP`
  250. XM``<`!P#P``.<```'``<`/``#G```!P`'``\``Y____\`!P`#P`.?____``<`
  251. XM`/`#G```!P`'```\`YP```<`!P``#P.<```'``<```,`````!P`'````````
  252. XM``<`!P```!*<```'``<````/G```!P`'`````YP```<`````````````````
  253. XM````````````#\````````````Q@```````````,8```````````#&``````
  254. XM``````Q@````````````````````````!\````````````Q@```````````/
  255. XMX```````````#`````````````?`````````````````````````&&``````
  256. XM`````!M@```````````;8```````````#,````````````S`````````````
  257. XM`````````````````````````````````````````````````````````%``
  258. XM*@`"``&7<`,``````/_____________X_____&/___C_^#____QC___X__@/
  259. XM___\8___^/_XP____&/___C_^/#___QC___X__C\/__\8___^/_X_P___&/_
  260. XM__C_^/_#__QC___X__C_\/_\8````/_X__P__&````#_^/__#_QC___X__C_
  261. XM_\/\8___^/_X___P_&/___C_^/___```'__X__C___@```?_^/_X__^``&/@
  262. XM?_C_^/_``!!C^!_X__C^``#\8_X/^/__^```____C_____,!D____\?____X
  263. XM`!_____C____^``?____X_____P`/_P`!\/____\`'_X``&/_____`#_\'_`
  264. XM'_____S\__#_\#______!__X```______G/__@`.'_____X#_____P_____^
  265. XM?_____\/_____P?_____!____________X?____^>?____^'_____DG\____
  266. XMA_____Y)^`___X______,_P#__P/_____S/^`/_@/________\`>`/______
  267. XM___^`!_______________________________P`````````````'`````YP`
  268. XM``<`!\````.<```'``?P```#G```!P`'/````YP```<`!P\```.<```'``<#
  269. XMP``#G```!P`'`/```YP```<`!P`\``.<```'``<`#P`#G____P`'``/``Y__
  270. XM__\`!P``\`.<```'``<``#P#G```!P`'```/`YP```<`!P```P`````'``<`
  271. XM````````!P`'````$IP```<`!P````^<```'``<````#G```!P``````````
  272. XM``````,!@```````````````````````````````````````````````````
  273. XM`````````````P$```````````,;````````````^````````````;P`````
  274. XM``````'_```````````!@````````````/@````````````````````````!
  275. XMA@```````````;8```````````&V````````````S````````````,P`````
  276. XM````````````````````````````````````````````````````````````
  277. X2`!!(86-K17AE.DYE=$AA8VL`
  278. X`
  279. Xend
  280. END_OF_FILE
  281. if test 2535 -ne `wc -c <'amiga/NewGame.uu'`; then
  282.     echo shar: \"'amiga/NewGame.uu'\" unpacked with wrong size!
  283. fi
  284. # end of 'amiga/NewGame.uu'
  285. echo shar: Extracting \"'amiga/dflticon.uu'\" \(2535 characters\)
  286. sed "s/^X//" >'amiga/dflticon.uu' <<'END_OF_FILE'
  287. Xbegin 644 default.icon
  288. XMXQ```0`````"'P`;`%``*P`&``,``0`CB-@`(XH`````````````````````
  289. XM````!/X`(X50`````````F@````&``````````````````````!0`"H``@`!
  290. XMR2@#``````#_____________^/____QC___X__@____\8___^/_X#____&/_
  291. XM__C_^,/___QC___X__CP___\8___^/_X_#___&/___C_^/\/__QC___X__C_
  292. XMP__\8___^/_X__#__&````#_^/_\/_Q@````__C__P_\8___^/_X___#_&/_
  293. XM__C_^/__\/QC___X__C___P``!__^/_X___\```'__C_^/__^`!CX'_X__C_
  294. XM__`08_@?^/_X___P_&/^#_C_____\/___X________/____'____________
  295. XMX____________^/________\``?#________^``!C_________!_P!______
  296. XM___P__`_________^```/_________X`#A__________^/\/__________S_
  297. XM#___X'!YYX/$_P?__\__.><YF/^'___@^#S/`9S_A____F<^'#^<_X?__\#P
  298. XMGS@#PG^/_______\`__\#________@#_X#_________`'@#__________@`?
  299. XM______________________________\`````````````!P````.<```'``?`
  300. XM```#G```!P`'\````YP```<`!SP```.<```'``</```#G```!P`'`\```YP`
  301. XM``<`!P#P``.<```'``<`/``#G```!P`'``\``Y____\`!P`#P`.?____``<`
  302. XM`/`#G```!P`'```\`YP```<`!P``#P.<```'``<```,`````!P`'````````
  303. XM``<`!P```!*<```'``<````/G```!P`'`````YP```<`````````````````
  304. XM````````````````````````````````````````````````````````````
  305. XM````````````````````````````````````````````````````````````
  306. XM````!P````````````,`````'X^&&'P[`````#``QAC&9P`````?!\,P_F,`
  307. XM`````9C!X,!C`````#\/8,!\/8``````````````````````````````````
  308. XM`````````````````````````````````````````````````````````%``
  309. XM*@`"``'[@`,``````/_____________X_____&/___C_^#____QC___X__@/
  310. XM___\8___^/_XP____&/___C_^/#___QC___X__C\/__\8___^/_X_P___&/_
  311. XM__C_^/_#__QC___X__C_\/_\8````/_X__P__&````#_^/__#_QC___X__C_
  312. XM_\/\8___^/_X___P_&/___C_^/___```'__X__C___@```?_^/_X__^``&/@
  313. XM?_C_^/_``!!C^!_X__C^``#\8_X/^/__^```____C_____,!D____\?____X
  314. XM`!_____C____^``?____X_____P`/_P`!\/____^&'_X``&/_____QO_\'_`
  315. XM'_________#_\#_________X```__________@`.'___________'P______
  316. XM_____Y\/___\#@\\\'B?!___^?_G/.<S'X?___P?!YG@,Y^'____S.?`Y_.?
  317. XMA___^!X3X`!X3X________P#__P/_______^`/_@/________\`>`/______
  318. XM___^`!_______________________________P`````````````'`````YP`
  319. XM``<`!\````.<```'``?P```#G```!P`'/````YP```<`!P\```.<```'``<#
  320. XMP``#G```!P`'`/```YP```<`!P`\``.<```'``<`#P`#G____P`'``/``Y__
  321. XM__\`!P``\`.<```'``<``#P#G```!P`'```/`YP```<`!P```P`````'``<`
  322. XM````````!P`'````$IP```<`!P````^<```'``<````#G```!P``````````
  323. XM``````,!@````````````````````````?^```````````!_````````````
  324. XM'````````````!@````````````8````````````&````````````#P`````
  325. XM``````#G````X````````````&`````#\?###X=@````!@`8PQC,X`````/@
  326. XM^&8?S&``````,Q@\&`Q@````!^'L&`^'L```````````````````````````
  327. XM````````````````````````````````````````````````````````````
  328. X2`!!(86-K17AE.DYE=$AA8VL`
  329. X`
  330. Xend
  331. END_OF_FILE
  332. if test 2535 -ne `wc -c <'amiga/dflticon.uu'`; then
  333.     echo shar: \"'amiga/dflticon.uu'\" unpacked with wrong size!
  334. fi
  335. # end of 'amiga/dflticon.uu'
  336. echo shar: Extracting \"'auxil/history'\" \(3151 characters\)
  337. sed "s/^X//" >'auxil/history' <<'END_OF_FILE'
  338. X
  339. XBehold, mortal, the origins of NetHack...
  340. X
  341. XJay Fenlason wrote the original Hack with help from Kenny Woodland,
  342. XMike Thome, and Jon Payne.
  343. X
  344. XAndries Brouwer did a major re-write, transforming Hack into a very different
  345. Xgame, and published (at least) three versions (1.0.1, 1.0.2, and 1.0.3) for
  346. XUNIX(tm) machines to the Usenet.
  347. X
  348. XDon G. Kneller ported Hack 1.0.3 to Microsoft(tm) C and MS-DOS(tm), producing
  349. XPC HACK 1.01e, added support for DEC Rainbow graphics in version 1.03g, and
  350. Xwent on to produce at least four more versions (3.0, 3.2, 3.51, and 3.6).
  351. X
  352. XR. Black ported PC HACK 3.51 to Lattice(tm) C and the Atari 520/1040ST,
  353. Xproducing ST Hack 1.03.
  354. X
  355. XMike Stephenson merged these various versions back together, incorporating
  356. Xmany of the added features, and produced NetHack version 1.4.  He then
  357. Xcoordinated a cast of thousands in enhancing and debugging NetHack 1.4 and
  358. Xreleased NetHack versions 2.2 and 2.3.
  359. XLater, Mike coordinated a major rewrite of the game, heading a team which
  360. Xincluded Ken Arromdee, Jean-Christophe Collet, Steve Creps, Eric Hendrickson,
  361. XIzchak Miller, Eric S. Raymond, John Rupley, Mike Threepoint, and Janet Walz,
  362. Xto produce NetHack 3.0c.
  363. X
  364. XNetHack 3.0 was ported to the Atari by Eric R. Smith, to OS/2 by Timo
  365. XHakulinen, and to VMS by David Gentzel.  The three of them and Kevin Darcy
  366. Xlater joined the main development team to produce subsequent revisions of
  367. X3.0.
  368. X
  369. XOlaf Seibert ported NetHack 2.3 and 3.0 to the Amiga.  Norm Meluch, Stephen
  370. XSpackman and Pierre Martineau designed overlay code for PC NetHack 3.0.
  371. XJohnny Lee ported NetHack 3.0 to the Macintosh.  Along with various other
  372. XDungeoneers, they continued to enhance the PC, Macintosh, and Amiga ports
  373. Xthrough the later revisions of 3.0.
  374. X                           - - - - - - - - - -
  375. XFrom time to time, some depraved individual out there in netland sends a
  376. Xparticularly intriguing modification to help out with the game.  The Gods of
  377. Xthe Dungeon sometimes make note of the names of the worst of these miscreants
  378. Xin this, the list of Dungeoneers:
  379. X
  380. X    Richard Addison           Bruce Holloway         Pat Rankin
  381. X    Tom Almy                  Richard P. Hughey      Eric S. Raymond
  382. X    Ken Arromdee              Ari Huttunen           John Rupley
  383. X    Eric Backus               Del Lamb               Olaf Seibert
  384. X    John S. Bien              Greg Laskin            Kevin Sitze
  385. X    Ralf Brown                Johnny Lee             Eric R. Smith
  386. X    Jean-Christophe Collet    Steve Linhart          Kevin Smolkowski
  387. X    Steve Creps               Ken Lorber             Michael Sokolov
  388. X    Kevin Darcy               Benson I. Margulies    Stephen Spackman
  389. X    Matthew Day               Pierre Martineau       Andy Swanson
  390. X    Joshua Delahunty          Roland McGrath         Kevin Sweet
  391. X    Jochen Erwied             Norm Meluch            Scott R. Turner
  392. X    David Gentzel             Bruce Mewborne         Janet Walz
  393. X    Mark Gooderum             Izchak Miller          Jon Watte
  394. X    David Hairston            Gil Neiger             Tom West
  395. X    Timo Hakulinen            Greg Olson             Gregg Wonderly
  396. X    Eric Hendrickson          Mike Passaretti
  397. END_OF_FILE
  398. if test 3151 -ne `wc -c <'auxil/history'`; then
  399.     echo shar: \"'auxil/history'\" unpacked with wrong size!
  400. fi
  401. # end of 'auxil/history'
  402. echo shar: Extracting \"'include/decl.h'\" \(5460 characters\)
  403. sed "s/^X//" >'include/decl.h' <<'END_OF_FILE'
  404. X/*    SCCS Id: @(#)decl.h    3.0    88/10/24
  405. X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  406. X/* NetHack may be freely redistributed.  See license for details. */
  407. X
  408. X#ifndef DECL_H
  409. X#define DECL_H
  410. X
  411. X#define E extern
  412. X
  413. XE int NEARDATA bases[];
  414. XE int NEARDATA warnlevel;    /* defined in mon.c */
  415. XE int NEARDATA occtime;
  416. XE int NEARDATA nroom;
  417. XE int NEARDATA multi;
  418. XE int hackpid;
  419. X#if defined(UNIX) || defined(VMS)
  420. XE int locknum;
  421. X#endif
  422. X#ifdef DEF_PAGER
  423. XE char *catmore;
  424. X#endif    /* DEF_PAGER */
  425. XE char SAVEF[];
  426. XE const char *hname;
  427. XE const char *hu_stat[];    /* defined in eat.c */
  428. XE int NEARDATA medusa_level;
  429. XE int NEARDATA bigroom_level;
  430. X#ifdef REINCARNATION
  431. XE int NEARDATA rogue_level;
  432. X#endif
  433. X#ifdef ORACLE
  434. XE int NEARDATA oracle_level;
  435. X#endif
  436. X#ifdef STRONGHOLD
  437. XE int NEARDATA stronghold_level, NEARDATA tower_level;
  438. X#endif
  439. XE int NEARDATA wiz_level;
  440. XE boolean NEARDATA is_maze_lev;
  441. X
  442. XE xchar NEARDATA xdnstair, NEARDATA ydnstair, NEARDATA xupstair,
  443. X    NEARDATA  yupstair; /* stairs up and down. */
  444. X#ifdef STRONGHOLD
  445. XE xchar NEARDATA xdnladder, NEARDATA ydnladder, NEARDATA xupladder,
  446. X    NEARDATA yupladder; /* ladders up and down. */
  447. X#endif
  448. XE xchar NEARDATA scrlx, NEARDATA scrhx, NEARDATA scrly, NEARDATA scrhy;
  449. X     /* corners of new area on screen. pri.c */
  450. XE xchar NEARDATA dlevel;
  451. XE xchar NEARDATA maxdlevel; /* dungeon level */
  452. XE int NEARDATA done_stopprint;
  453. XE int NEARDATA done_hup;
  454. XE xchar NEARDATA curx,NEARDATA cury;    /* cursor location on screen */
  455. XE xchar NEARDATA seehx, NEARDATA seelx, NEARDATA seehy, NEARDATA seely;
  456. X     /* where to see */
  457. XE xchar NEARDATA seehx2, NEARDATA seelx2, NEARDATA seehy2, NEARDATA seely2;
  458. X     /* where to see */
  459. XE xchar NEARDATA fountsound, NEARDATA sinksound; /* numbers of noisy things */
  460. X
  461. XE char NEARDATA pl_character[PL_CSIZ];
  462. XE const char *pl_classes;
  463. X#ifdef TUTTI_FRUTTI
  464. XE char NEARDATA pl_fruit[PL_FSIZ];
  465. XE int NEARDATA current_fruit;
  466. XE struct fruit NEARDATA *ffruit;
  467. X#endif
  468. X#ifdef STRONGHOLD
  469. XE char NEARDATA tune[6];
  470. X#  ifdef MUSIC
  471. XE schar NEARDATA music_heard;
  472. X#  endif
  473. X#endif
  474. X
  475. XE const char NEARDATA quitchars[];
  476. XE const char NEARDATA vowels[];
  477. XE const char NEARDATA ynchars[];
  478. XE const char NEARDATA ynqchars[];
  479. XE const char NEARDATA ynaqchars[];
  480. XE const char NEARDATA nyaqchars[];
  481. XE int NEARDATA smeq[];
  482. XE int NEARDATA doorindex;
  483. XE char NEARDATA *save_cm;
  484. X#define KILLED_BY_AN 0
  485. X#define KILLED_BY 1
  486. X#define NO_KILLER_PREFIX 2
  487. XE int NEARDATA killer_format;
  488. XE const char NEARDATA *killer;
  489. XE char inv_order[];
  490. XE char NEARDATA plname[PL_NSIZ];
  491. XE char NEARDATA dogname[];
  492. XE char NEARDATA catname[];
  493. XE const char NEARDATA sdir[], NEARDATA ndir[];    /* defined in cmd.c */
  494. XE const char NEARDATA *occtxt;        /* defined when occupation != NULL */
  495. XE const char NEARDATA *nomovemsg;
  496. XE const char NEARDATA nul[];
  497. XE char *HI, *HE, *AS, *AE;    /* set up in termcap.c */
  498. XE char *CD;            /* set up in termcap.c */
  499. XE int CO, LI;            /* set up in termcap.c: COLNO and ROWNO+3 */
  500. XE const char *traps[];
  501. X#ifndef MAKEDEFS_C  /* avoid conflict with lock() */
  502. XE char lock[];
  503. X#endif
  504. XE char morc;
  505. X
  506. XE const schar NEARDATA xdir[], NEARDATA ydir[];    /* idem */
  507. XE schar NEARDATA tbx, NEARDATA tby;        /* set in mthrowu.c */
  508. XE int NEARDATA dig_effort;    /* apply.c, hack.c */
  509. XE uchar NEARDATA dig_level;
  510. XE coord NEARDATA dig_pos;
  511. XE boolean NEARDATA dig_down;
  512. X
  513. XE long NEARDATA moves, NEARDATA monstermoves;
  514. XE long NEARDATA wailmsg;
  515. X
  516. XE boolean NEARDATA in_mklev;
  517. XE boolean NEARDATA stoned;
  518. XE boolean NEARDATA unweapon;
  519. XE boolean NEARDATA mrg_to_wielded;
  520. X
  521. X#ifdef KOPS
  522. XE boolean NEARDATA allow_kops;
  523. X#endif
  524. X
  525. X#ifdef SPELLS
  526. X#ifndef SPELLS_H
  527. X#include "spell.h"
  528. X#endif
  529. XE struct spell NEARDATA spl_book[];    /* sized in decl.c */
  530. X#endif
  531. X
  532. X#ifdef REDO
  533. XE int NEARDATA in_doagain;
  534. X#endif
  535. X
  536. X#ifdef CLIPPING
  537. XE boolean clipping;
  538. XE int clipx, clipy, clipxmax, clipymax;
  539. X#endif
  540. X
  541. X#ifdef TEXTCOLOR
  542. X#ifndef COLOR_H
  543. X#include "color.h"
  544. X#endif
  545. X# ifdef TOS
  546. XE const char *hilites[MAXCOLORS];
  547. X# else
  548. XE char NEARDATA *hilites[MAXCOLORS];
  549. X# endif
  550. X#endif
  551. X
  552. X#ifndef OBJ_H
  553. X#include "obj.h"
  554. X#endif
  555. X
  556. XE struct obj NEARDATA *invent, NEARDATA *uarm, NEARDATA *uarmc,
  557. X    NEARDATA *uarmh, NEARDATA *uarms, NEARDATA *uarmg, NEARDATA *uarmf,
  558. X#ifdef SHIRT
  559. X    NEARDATA *uarmu, /* under-wear, so to speak */
  560. X#endif
  561. X#ifdef POLYSELF
  562. X    NEARDATA *uskin,
  563. X#endif
  564. X    NEARDATA *uamul, NEARDATA *uleft, NEARDATA *uright, NEARDATA *ublindf,
  565. X    NEARDATA *fcobj, NEARDATA *uwep;
  566. X
  567. XE struct obj NEARDATA *uchain;    /* defined iff PUNISHED */
  568. XE struct obj NEARDATA *uball;    /* defined if PUNISHED */
  569. X
  570. X#ifndef YOU_H
  571. X#include "you.h"
  572. X#endif
  573. X
  574. XE struct you NEARDATA u;
  575. X
  576. X#ifndef MAKEDEFS_C
  577. X#ifndef ONAMES_H
  578. X#include "onames.h"
  579. X#endif
  580. X#ifndef PM_H
  581. X#include "pm.h"
  582. X#endif
  583. X#endif /* MAKEDEFS_C */
  584. X
  585. XE struct permonst NEARDATA playermon, NEARDATA *uasmon;
  586. X                    /* also decl'd extern in permonst.h */
  587. X                    /* init'd in monst.c */
  588. XE struct obj NEARDATA zeroobj;        /* init'd and defined in decl.c */
  589. X
  590. XE struct monst NEARDATA youmonst;    /* init'd and defined in decl.c */
  591. X
  592. XE const char obj_symbols[];        /* init'd in objects.h */
  593. X
  594. XE struct obj *billobjs;
  595. X
  596. XE const char black[];
  597. XE const char amber[];
  598. X#ifdef THEOLOGY
  599. XE const char golden[];
  600. X#endif
  601. XE const char light_blue[];
  602. XE const char red[];
  603. XE const char green[];
  604. XE const char silver[];
  605. XE const char blue[];
  606. XE const char purple[];
  607. XE const char white[];
  608. X
  609. XE const char nothing_happens[];
  610. XE const char thats_enough_tries[];
  611. X
  612. XE const char monsyms[], objsyms[];
  613. XE const char *monexplain[], *objexplain[];
  614. X
  615. X#ifdef NAMED_ITEMS
  616. XE const int artifact_num;
  617. XE boolean artiexist[];
  618. X#endif
  619. X
  620. X#undef E
  621. X
  622. X#endif /* DECL_H /**/
  623. END_OF_FILE
  624. if test 5460 -ne `wc -c <'include/decl.h'`; then
  625.     echo shar: \"'include/decl.h'\" unpacked with wrong size!
  626. fi
  627. # end of 'include/decl.h'
  628. echo shar: Extracting \"'mac/MD.rsrc.hqx'\" \(1117 characters\)
  629. sed "s/^X//" >'mac/MD.rsrc.hqx' <<'END_OF_FILE'
  630. X(This file must be converted with BinHex 4.0)
  631. X
  632. X:%QeKDf9NC@Cc,R"bEfSZFR0bB`#3%30JdL`!N!3"!*!$![3!!!(d!*!$E(-k!*!
  633. X$&!!4+P)k5@jME(9NCA-k)!#3"")!%5T61NN5E@&VC@4PCR-ZF(*[DLjbFh*MDJ)
  634. X!N"B"!3`"m!#3%3+L-D)A!*!'!f$-*!(B!*!$(!0L!!a$6d4&!!)!DP"0Bh3!"J#
  635. X14%P86!!2!1*"6&*8!!m"SNP$6di!!!*L689193!#!Qj69&)J!!B#NN019%`!!!,
  636. XQ5801)`!"![*568Y5!!!$#NC548B!!3-@3Nj%6!!!!bj3394)!!!$1J!!rrmJ!*!
  637. X&be`!!3#3!a8!+!!S!-J"3!!"rrm!N!I)!*!%cJ!)!*!&G!!c!)J!E`3#6dX!N!9
  638. Xd!*i!L!$D"!C$B@jMC@`!N!82!!m!(`"("J4NBA4K!*!&%!")!#!!H!B%C'&dC3#
  639. X3"5J!5!!i!+!'#("PFQe[ER0d!*!&%!#J!#!!k!B'FR9YEh*c!*!&+!!2!$J!4`B
  640. X&G(*KF(0"!*!&+!#K!$J"%3B-Ef*UC@0d)'jKE@9c!*!&3!!3!&!!m!BGE@pZFh3
  641. XJFQ9cEh9bBf8JB@jN)'CTE'8JD@0[ER02!*!$&3#3"!%%!AF!!3#3#2"J!*!%l!!
  642. X+!*!&[`%H!0%"EJ3%6h"PEJ#3"J)l!&!#633'5'PNC'9Z!*!&fJ%I!1`"E`3'3f&
  643. XZBf9X!*!&*`%D!$S"Fi!!N!C%!5!!9J&`"!9&DQ9MG&m!N!9G!5!!E`&`"!9%FQP
  644. XfCH!!N!9$!!`!p3%A!*!(!`"Y!"8!R3#3"jB"'`#A!A1!!*!(!K3!C3*dL!#3"J)
  645. X!-!!Q!8B)-e"XC@&cC5"XEf0KG'9H-#"QD@aPAM%JAM)0Eh)JF(*PFh-J3f&ZBf9
  646. XX)(4[)'&LEh*d,YF!!!%!N!-#p!!!!I3!N!0X!%%[G!@%!*!$(!"H!!&%6%p(!!%
  647. X!%N4*9%`!!3!U!-J!N!G"e+6`B2rr!*!$k`""e03!b2rr!*!$'3#3"2"Jrrm!!!%
  648. X%!%(8Z!eAD'PMD#"[F(4TEfirk"m:
  649. END_OF_FILE
  650. if test 1117 -ne `wc -c <'mac/MD.rsrc.hqx'`; then
  651.     echo shar: \"'mac/MD.rsrc.hqx'\" unpacked with wrong size!
  652. fi
  653. # end of 'mac/MD.rsrc.hqx'
  654. echo shar: Extracting \"'others/ovlmgr.uu'\" \(7707 characters\)
  655. sed "s/^X//" >'others/ovlmgr.uu' <<'END_OF_FILE'
  656. Xbegin 666 ovlmgr.obj
  657. XM@ P "F]V;&UG<BY!4TW$EA4   904U!314<&3U9,5$),!$-/1$6%F H     
  658. XM "P  @$!+I@*       0  ,! 4F8!P!H:1D$ 0%QC$8 !R0D24Y43D\ "20D
  659. XM3U9,0D%310 *)"1-4$=33D]63  +)"1-4$=33D)!4T4 !B0D34%)3@ &)"1#
  660. XM1U-.  8D)$-/5DP T9 0   #"20D3U9,24Y)5$$. )B(!   H@'1H!0  @  
  661. XM                     $J@(  #             /__________        
  662. XM  #_____2:(/  ,< !   0 !     O__'J &  ,\    &Z(/  ,^ !   0 !
  663. XM     O___* 2  -> /__                [Z &  -L!   YYP( ,0   ,#
  664. XM;@0@H@\  VX*$  !  $    "___"H 8  XX*  "_HF8  Y * 0    )-6@$ 
  665. XM   "   !     @   0    (   $    "   !     @   0    (   $    "
  666. XM   !     @   0    (   $    "   !     @   0    (   $    "  "*
  667. XMH  $ Y ,__\                                       !%34U86%A8
  668. XM,   !   ,S@V('-P96-I9FEC(&-O9&4@96YA8FQE9"X-"B1#;VYV96YT:6]N
  669. XM86P@;65M;W)Y(&%V86EL86)L93H@)$@@<&%R86=R87!H<RX-"B1%35,@;65M
  670. XM;W)Y(&%V86EL86)L93H@)$@@,39++7!A9V5S+@T*)$YO="!E;F]U9V@@9G)E
  671. XM92!M96UO<GD@;&5F="!T;R!R=6X@=&AI<R!P<F]G<F%M+B1);G1E<FYA;"!M
  672. XM96UO<GD@86QL;V-A=&EO;B!F86EL=7)E+B1);F%C8V5S<VEB;&4@15A%(&9I
  673. XM;&4N($-A;AMT(&QO860@;W9E<FQA>7,N)$EN8V]R<F5C="!$3U,@=F5R<VEO
  674. XM;BX@375S="!B92 S+C P(&]R(&QA=&5R+B1%35,@;65M;W)Y(&UA;F%G97(@
  675. XM97)R;W(N)%5N:VYO=VX@97)R;W(A)!M;,&T;6TL-"AM;2QM;,6U/5DQ-1U(Z
  676. XM&ULP;2 D&UM+#0H;6TL@(" @(" @("@D&UM+#0H;6TL')%!345)65U4>!OR,
  677. XMV 40 "ZC  "T,,TA/ -S!; !Z0  CAX  +[__T:#/ !U^H/&!+  M#V+ULTA
  678. XM<P6P ND  "ZC  "T-;!GS2&,R([8OPH O@  N0@ \Z:P '4"L/\NH@  =1*T
  679. XM0<UG+HD>  "T0LUG+HD>  "X   NHP  N   CMB+'@  +HD>  "+'@  +HD>
  680. XM  "T2,TA<P/I   NHP  #A\S[3/_,_;H   NH0  +@,&  ".P#/ )J,  ":C
  681. XM   FH@  )J(  ";'!@  __\NH0  T>#1X-'@T>#1X"Z+%@  "])T#M'JT>K1
  682. XMZM'J0BT@  /"+BL&   FHP  +H,^    = 8[QW("B_@NH0  T>#1X-'@T> F
  683. XMHP  )HDN   N RX  (O5BLZ*\C+M,M+1XM'1L "T0LTA+J$  $@N.P8  '0#
  684. XMZ0  +J$  "ZC  ".P";&!@   ";'!@(    FQP8$    )L<&!@   ":)/@@ 
  685. XM \<NHP  5RZ.!@  Z   )L<&  #__R: )@  _5+H  !87PO =05'.]=R+R['
  686. XM!@     NQP8     OP  +L<%__^#QP8NH0  +HD%+HD^  ".P";&!@  !>L%
  687. XML /I  "X  ".V*   #+DT>#1X"ZC  #H   NBPX  +@  ([ C,B.V+L  +X 
  688. XM +\  ":*!#+D P8  (D%)HL'*P8  (E% H/'!(/# D;BX@<?75]>6EE;6.H 
  689. XM    +HDV   NC!X  %X?4%/\K#+DB]BM+J,  (O&+HLV  "#EIPQ L0"  ,#
  690. XML0W$!  # X4-Q 8  P,P#<0(  ,#A0W$"@ # V$-Q P  P-A#<0.  ,#WPW$
  691. XM$  # X4-Q!(  P/Y#<04  ,#^0W$%@ # _D-Q!@  P/Y#<0:  ,#^0W$'  #
  692. XM _D-Q!X  P/Y#<7"  ,#: "%SP # P$8Q=,  0$L (7N  ,# 1C%\@ # Q@ 
  693. XMQ@(  P.P#,81  ,#O S&'  # VH QB4  P.X#,HH)@("QBP  P-D ,HO)@<'
  694. XMQC4F!@;&.@ # V( QCXF!P?&0P # V  ADP  P,.$,90  ,#&@"&6P # ]X7
  695. XMQE\  P,: ,9D  ,#J@K&;  " @0 QG   @(& ,9T! ("QG@  @(! ,9]  ("
  696. XM" #&@P # Y0*QI(  P.2"L:I  ,#F K&K0 " @P QK(  P.J"L:_  ,#F K&
  697. XMRP " @X QM   @(* ,;5  ,#E K&[0 # V  QO,  P.J"H;X  ,#Z@[&_  #
  698. XM V0 QP   P,\ ,<H  ,#9@#'+@ # QH AS$  P.7%L<V  ("" #'/00" H="
  699. XM  ,#_Q7'4@0# \=9  ,# @#'7@ # VX$QVH  P,: ,=R  ,#; 3'>00" H>!
  700. XM  ,# 1C+A"8! <>))@$!QY,  P.."H>6  ,#^1C'FP # V( RYXF! 3'IR8$
  701. XM!,>J)@,#QZT  P-L ,>V  ,#&@#'OP # V0 S]<F!07'W@ # Q  Q^,  P,2
  702. XM ,?R  ,#! #'^0 # VP$7*  ! .,$,8&+HQ<_"Z)1/[1X]'C@<,  "Z.'RZ+
  703. XM1P(NC!PNB38  "Z+-@  1BZ)-@  B38  "Z+-@  ='^)-@  ]@8   %T??X&
  704. XM   #!@  +J,  "Z+-@  +HX>  !;6)TN_QX  )PNC!X  "Z)-@  +HLV   N
  705. XMCAS^#@  @^X&+HX<+O]T B[_= 0NB38  "Z+-@  1BZ)-@  B38  "Z+-@  
  706. XM=#>)-@  ]@8   %T-"Z+-@  +HX>  #/1BZ)-@  Z0  ]@8   )T"U"A  #H
  707. XM  !8Z0  Z   Z0  1BZ)-@  Z\'V!@   G0*4*$  .@  %CKN^@  .NV4%%2
  708. XM4U565QX&C-B.P": /@   '4*)J$  .@  .L$D.@   4! ":C  ".V":+%@  
  709. XMBLZ*\C+M,M+1XM'1)J$  %%2 ]"#T0"T0K  +HL>  #-(7)(,](FBPX  -'A
  710. XMT>'1X='AM#_-(7(S6EFT0K  +HL>  #-(7(DN0 "N@  'HS(CMBT/\TA'W(2
  711. XMZ   !Q^ #@   5]>75M:65C#L 3I  "^  "+[H'%  (NBTP&XUV,WRXK/@  
  712. XM+@-T&#OU<@/H   NBAQ&._5R ^@  "Z*/$8[]7(#Z   +HH$1COU<@/H   N
  713. XMBB1&+@,&   #QX[ )HL'+@,&   N.P8  '()+CL&  !S @/')HD'XJ[#4U%7
  714. XM51X&N0 "N@  C,B.V"Z+'@  M#_-(7,#Z0  O@  !Q]=7UE;PU-14E9751XN
  715. XMCAX  #/ B]"+Z(O8+HL.  #VAP  !'4P]H<   )U!_:'   !="(NBS8  "Z+
  716. XM/@  *[<  !N_   [UW(&=0H[QG,&B\:+UXOK@\,0XL0+[74%L 7I  #1[='M
  717. XMT>W1[8S8 \4?75]>6EE;PX#\2W0/@/Q,= 4N_RX  +  Z0  "L!U\E!14E-5
  718. XM5E<&'BZ.!@  +HL.  "[$ !))O:'   "=1<F]H<   %T%2:+AP  +0$ +CL&
  719. XM  !R!B: IP  _H/#$.+6+L<&  #__RZA   ]__]T#H[ )HX&!  FQP8"    
  720. XMN1  O@  +HL$/?__= N.P+1)S2$NQP3__X/& N+HZ   B^S_=A:='P=?7EU;
  721. XM6EE8+HP6   NB28  ,TA+HX6   NBR8  %!14E-55E<&'HOLG(]&%N@  .@ 
  722. XM !\'7UY=6UI96,\FBQX  (/K 8O3)@,6  "#P@$FH0  /?__=!#H   F@ X 
  723. XM  (NH0  ZUF0+J$  .M2D([8.]AS"3O"<TWH  #K\0,&"  [V',W]@8   %T
  724. XM!^@   ,&"  [PG(EC-B+RRO(=!(&Z   )H .   !Z   C,".V <FBPX  (/!
  725. XM >LZD*$"  :<V@+$$  # VP Q!\  P-L!,0D! ,#Q"H$ P/$+@ " @0 Q#, 
  726. XM P," ,0Y  ("!@#$/00" L1$  (" 0#$2  " @( Q$P  P,& ,11  ,#$ #$
  727. XM5@ # Q( Q%X  P,$ ,1D  ,#$@#$:0 # Q  Q&X  P-L!,1U  (" 0#$B  #
  728. XM VP$Q(T$ P/$DP0# \27  ("! #$G  # P( Q*(  @(& ,2F! ("Q*X  P,0
  729. XM ,2S  ,#$@#$N@ # P( A+T  P/#$,3!! ("Q,@  @(( (3+  ,#+!>$SP #
  730. XM \X0A-(  P.!$835  ,#SA#$VP # P( Q.$$ @+$Z  " @@ A.L  P,L%X3Q
  731. XM  ,#@1'%!0 " @$ Q0P  @(, (4/  ,#DQ2%%0 # P44Q1P  @(" ,4C  ("
  732. XM"@#%,P " @X Q4,  P,8 ,5.  ("# #%9P # Q@ Q7$  P.0"H6   ,#(A+%
  733. XMA@0" H64  ,# 1C%EP # Y *Q:H  P-D (6U  ,#CQ*%P  # X\2A<L  P./
  734. XM$H76  ,#CQ+%WP # V@ Q>L  P-H ,7P  ,#9 #%]P # V8 Q@T  P.0"L86
  735. XM  ,#& "&'P # QT2QB(  P.0"L8U  ,#&@#&0@ # V  QD8$ @+&300" L94
  736. XM! ("QEP$ P/&80 # P( QF4  @($ ,9I  ("!@"&AP # P$8QJH  P,, (:O
  737. XM  ,# 1C&P0 # QH QL8  P-@ ,;/! ("QM<$ @+&WP " @( QN<  P,< ,;N
  738. XM! ("QOD  P-> ,;_  ,#' #'&  # QP AS,  P,T&<='  ,#% #'3  # Q8 
  739. XMQU,  P,4 ,=8  ,#%@"':@ # _\5AVT  P/Y&,=\  (" @#'A@ " @P QXT 
  740. XM @(( (>5  ,#+!?'F@0" L>?  ,#:@#'I@ # SP A[8  P,^%8?*  ,#/A6'
  741. XMW@ # ]H4A^<  P-^%<?Q  ("# #IH  $ X@4"\!T NNIL ;I   FQP8  /__
  742. XM)H F  #]B\B#P0'H   [T7,/Z   .]%S".@  .@  .OJZP&0!H .   !Z   
  743. XM<@D>C,".V.@  !\'C 8& (S8PXS8 \&.P*$( "O!=C")#@@ )J,( *$" ":C
  744. XM @",!@( )HP>!  FQ@8    FH0( "\!T"AZ.V(P&!  ?^,/YPRZA   STNL8
  745. XMD([8]@8   %U"SD." !R!8L6" ##H0( "\!UY</V!@   702!HX&!@ F@"8 
  746. XM /XF@"8  /T'ZR60CMB )@  _O8&   "= N )@  _:$  .@  *$  "T! ([8
  747. XMZP&04@: )@  _J$$  O =#*.P";V!@   74H)@,&" ",VCO0=1VA"  F 08(
  748. XM *$" ":C @ +P'0&CMB,!@0 C,".V*$"  O =#".P";V!@   74FC-@#!@@ 
  749. XMC,([PG4:)J$(  $&"  FH0( HP( "\!T!X[ )HP>! " )@  _@=:C-C#45-6
  750. XM5QX&,](NH0  CMBA @ +P'7WO@  OP  N1  M$B[___-(8/[$'))M$C-(7)#
  751. XM+CL&  !R-#O3<P*+TRZ)!([ )L8&    )L<& @   ";'!@8    FC!X$ ":)
  752. XM'@@ C 8" (/& H[8ZP8NB06#QP+BJ[X  +D0 "Z+!#W__W0+CL"T2<TA+L<$
  753. XM__^#Q@+BZ <?7UY;6<,STBZ /@  _W0!PR['!@  __^_  "+V;D0 "Z+!3W_
  754. XM_W01Z   .\-S6(/' N+LB\LSTL.+R[L$ +1#45<&S6<'7UD*Y'0#,]+#+HD5
  755. XM)HD6   F@ X   *+PN@  "ZA  ".V,8&    QP8"    QP8$    QP8&    
  756. XMN@ 0B18( ,.+RX[>B] NBP4FHP  )H .   "PRX[!@  =0'#4U(>!N@  "ZA
  757. XM   STC/VCMCV!@   70-C@8& ": #@   ^L,D*$( #O0<P2+T(S>H0( "\!U
  758. XMV(O"!Q]:6\,&4U%2+J,  (O0M$0RP#/;4LUG6@KD=4^T1+ !NP$ 4LUG6@KD
  759. XM=4"T1+ "NP( 4LUG6@KD=3&T1+ #NP, S6<*Y'4D+HX&   NBPX  #/;)O:'
  760. XM   "= 8F@*<  /Z#PQ#B[5I96P?#L ?K))!1'HS(CMBZ   NBQX  +D< +0_
  761. XMS2%R!SO!=0,?6<.P".L!D#+D4 X?B]C1XX'#  "+%X/Z_W1D4KH  +0)S2%:
  762. XMM G-(;0)N@  S2%84.@  +0"LCK-(;B!,.@  +0"LCK-(;@ H"XK!@  Z   
  763. XMM *R.LTAO@  N1  ,\ N@SS_= HN P8  (/& N+PZ   M *R*<TAN@  M G-
  764. XM(>@  "ZA   ]__]T*IQZ 80)  ,# 1C$#@ " @@ Q!4$ @*$'@ # QD5A"4 
  765. XM P.7%H0L  ,#MQ*$+P # UH5A#T  P/:%(1'  ,#?A7$DP # SP Q,4$ @+$
  766. XMRP0" L36! ("Q-L$ @+$X@0" L3F  ("" "$Z0 # RP7Q.P  @(" ,6!  ,#
  767. XM/ #%C0 # QP Q9   P-N"L6J  ,#&@#%ZP # VX*QA0  P.\#,8=  ,#7@#&
  768. XM(@ # SX AC(  P,L%\9>  ("" #&8P0" H9I  ,#<A?&;0 # VH QIL  @((
  769. XM ,:@! ("QJ<  P-> (:Q  ,#<A?&M0 # VH QLL$ @+&\  # UX QS   P,:
  770. XM ,<U  ,#8 #'/ 0" L=$! ("QUT  P.0"L=B  ,#& #'A  # Y ,QX\  P,(
  771. XM#L>=  ,#)0Z'I  # \X8A[   P/.&,>^  ,#&@"'P0 # \X8Q\H  P,^ ,?:
  772. XM  ,#N@R'X@ # \X8Q^L  P,W#H?R  ,#-!G']@ # QH BJ#I  .$& :.P+1)
  773. XMS2&Y$ "^   NBP0]__]T!H[ M$G-(8/& N+MN1  O@  +HL4@_K_= 2T1<UG
  774. XM@\8"XN\NBQX  (/[_W0$M#[-(5BT3,TA4(;@Z   6.L!D%#0Z-#HT.C0Z.@ 
  775. XM %CK 9 D#P0P/#IR @0'BM"T LTAPQXSP([8+HLV  #ZBP0NHP  BT0"+J, 
  776. XM +@  (D$C$P"OH0 BP0NHP  BT0"+J,  +@  (D$C$P"^Q_#'C/ CMB^A #Z
  777. XM+J$  #W__W0)B00NH0  B40"+HLV   NH0  /?__= J)!"ZA  ")1 +['\.J
  778. XMG'@ Q L  P,< ,0D  ,#/@#$.@ # Q@ A$X  P/8&(1>  ,#Z!C$?0 # XX*
  779. XMQ(0  P,( ,2+  ,#"@#$C@ # VL0Q)P  P,, ,2C  ,##@#$I@ # RD3Q+L 
  780. XF P,, ,3&  ,##@#$S@ # XX*Q-(  P,( ,3=  ,#"@!/B@(  '0#
  781. Xend
  782. END_OF_FILE
  783. if test 7707 -ne `wc -c <'others/ovlmgr.uu'`; then
  784.     echo shar: \"'others/ovlmgr.uu'\" unpacked with wrong size!
  785. fi
  786. # end of 'others/ovlmgr.uu'
  787. echo shar: Extracting \"'vms/vmstty.c'\" \(6446 characters\)
  788. sed "s/^X//" >'vms/vmstty.c' <<'END_OF_FILE'
  789. X/*    SCCS Id: @(#)vmstty.c    3.0    88/05/03
  790. X/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
  791. X/* NetHack may be freely redistributed.  See license for details. */
  792. X/* tty.c - (VMS) version */
  793. X
  794. X#define NEED_VARARGS
  795. X#include "hack.h"
  796. X
  797. X#include    <descrip.h>
  798. X#include    <iodef.h>
  799. X#include    <smgdef.h>
  800. X#include    <ttdef.h>
  801. X#include <errno.h>
  802. X
  803. X#define vms_ok(sts) ((sts)&1)
  804. X#define META(c)  ((c)|0x80)    /*(Same as DOS's M(c).)*/
  805. X#define CTRL(c)  ((c)&0x1F)
  806. X#define CMASK(c) (1<<CTRL(c))
  807. X#define LIB$M_CLI_CTRLT CMASK('T')    /* 0x00100000 */
  808. X#define LIB$M_CLI_CTRLY CMASK('Y')    /* 0x02000000 */
  809. X
  810. Xextern short ospeed;
  811. Xchar erase_char, intr_char, kill_char;
  812. Xstatic boolean settty_needed = FALSE;
  813. X#ifndef MAIL
  814. Xstatic        /* else global ('extern' in mail.c) */
  815. X#endif
  816. X       unsigned long pasteboard_id = 0; /* for AST & broadcast-msg handling */
  817. Xstatic unsigned long kb = 0;
  818. X
  819. Xint
  820. Xvms_getchar()
  821. X{
  822. X    static volatile int recurse = 0;    /* SMG is not AST re-entrant! */
  823. X    short key;
  824. X
  825. X    if (recurse++ == 0 && kb != 0) {
  826. X    SMG$READ_KEYSTROKE(&kb, &key);
  827. X    switch (key)
  828. X    {
  829. X      case SMG$K_TRM_UP:
  830. X        key = 'k';
  831. X        break;
  832. X      case SMG$K_TRM_DOWN:
  833. X        key = 'j';
  834. X        break;
  835. X      case SMG$K_TRM_LEFT:
  836. X        key = 'h';
  837. X        break;
  838. X      case SMG$K_TRM_RIGHT:
  839. X        key = 'l';
  840. X        break;
  841. X      case '\r':
  842. X        key = '\n';
  843. X        break;
  844. X      default:
  845. X        if (key == '\007' || key == '\032' || key > 255)
  846. X        key = '\033';
  847. X        break;
  848. X    }
  849. X    } else {
  850. X    /* abnormal input--either SMG didn't initialize properly or
  851. X       vms_getchar() has been called recursively (via SIGINT handler).
  852. X     */
  853. X    if (kb != 0)            /* must have been a recursive call */
  854. X        SMG$CANCEL_INPUT(&kb);    /*  from an interrupt handler       */
  855. X    key = getchar();
  856. X    }
  857. X    --recurse;
  858. X    return (int)key;
  859. X}
  860. X
  861. X#define TT_SPECIAL_HANDLING (TT$M_MECHTAB|TT$M_MECHFORM)
  862. X#define Uword unsigned short
  863. X#define Ubyte unsigned char
  864. Xstruct _sm_iosb {        /* i/o status block for sense-mode qio */
  865. X    Uword      status;
  866. X    Ubyte      xmt_speed,  rcv_speed;
  867. X    Ubyte      cr_fill,  lf_fill,  parity;
  868. X    unsigned   : 8;
  869. X};
  870. Xstruct _sm_bufr {        /* sense-mode characteristics buffer */
  871. X    Ubyte      class,  type;        /* class==DC$_TERM, type==(various) */
  872. X    Uword      buf_siz;        /* aka page width */
  873. X#define page_width buf_siz        /* number of columns */
  874. X    unsigned  tt_char  : 24;    /* primary characteristics */
  875. X    Ubyte      page_length;        /* number of lines */
  876. X    unsigned  tt2_char : 32;    /* secondary characteristics */
  877. X};
  878. Xstatic struct {
  879. X    struct _sm_iosb io;
  880. X    struct _sm_bufr sm;
  881. X} sg = {{0},{0}};
  882. Xstatic unsigned short tt_chan = 0;
  883. Xstatic unsigned long  tt_char_restore = 0, tt_char_active = 0;
  884. Xstatic unsigned long  ctrl_mask = 0;
  885. X
  886. Xstatic void
  887. Xsetctty(){
  888. X    struct _sm_iosb iosb;
  889. X    long status = SYS$QIOW(0, tt_chan, IO$_SETMODE, &iosb, (void(*)())0, 0,
  890. X               &sg.sm, sizeof sg.sm, 0, 0, 0, 0);
  891. X    if (vms_ok(status))  status = iosb.status;
  892. X    if (!vms_ok(status)) {
  893. X    errno = EVMSERR,  vaxc$errno = status;
  894. X    perror("NetHack (setctty: setmode)");
  895. X    }
  896. X}
  897. X
  898. Xstatic void
  899. Xresettty(){            /* atexit() routine */
  900. X    if (settty_needed)
  901. X    settty((char *)NULL);
  902. X    (void) SYS$DASSGN(tt_chan),  tt_chan = 0;
  903. X}
  904. X
  905. X/*
  906. X * Get initial state of terminal, set ospeed (for termcap routines)
  907. X * and switch off tab expansion if necessary.
  908. X * Called by startup() in termcap.c and after returning from ! or ^Z
  909. X */
  910. Xvoid
  911. Xgettty(){
  912. X    long status;
  913. X    $DESCRIPTOR(input_dsc, "TT");
  914. X    unsigned long zero = 0;
  915. X
  916. X    if (tt_chan == 0) {        /* do this stuff once only */
  917. X    status = SYS$ASSIGN(&input_dsc, &tt_chan, 0, 0);
  918. X    if (!vms_ok(status)) {
  919. X        errno = EVMSERR,  vaxc$errno = status;
  920. X        perror("NetHack (gettty: $assign)");
  921. X    }
  922. X    atexit(resettty);   /* register an exit handler to reset things */
  923. X    }
  924. X    status = SYS$QIOW(0, tt_chan, IO$_SENSEMODE, &sg.io, (void(*)())0, 0,
  925. X              &sg.sm, sizeof sg.sm, 0, 0, 0, 0);
  926. X    if (vms_ok(status))  status = sg.io.status;
  927. X    if (!vms_ok(status)) {
  928. X    errno = EVMSERR,  vaxc$errno = status;
  929. X    perror("NetHack (gettty: sensemode)");
  930. X    }
  931. X    ospeed = sg.io.xmt_speed;
  932. X    erase_char = '\177';    /* <rubout>, aka <delete> */
  933. X    kill_char = CTRL('U');
  934. X    intr_char = CTRL('C');
  935. X    (void) LIB$ENABLE_CTRL(&zero, &ctrl_mask);
  936. X    /* Use the systems's values for lines and columns if it has any idea. */
  937. X    if (sg.sm.page_length)
  938. X    LI = sg.sm.page_length;
  939. X    if (sg.sm.page_width)
  940. X    CO = sg.sm.page_width;
  941. X    /* Determine whether TTDRIVER is doing tab and/or form-feed expansion;
  942. X       if so, we want to suppress that but also restore it at final exit. */
  943. X    if ((sg.sm.tt_char & TT_SPECIAL_HANDLING) != TT_SPECIAL_HANDLING) {
  944. X    tt_char_restore = sg.sm.tt_char;
  945. X    tt_char_active    = sg.sm.tt_char |= TT_SPECIAL_HANDLING;
  946. X#if 0        /*[ defer until setftty() ]*/
  947. X    setctty();
  948. X#endif 0
  949. X    } else    /* no need to take any action */
  950. X    tt_char_restore = tt_char_active = 0;
  951. X}
  952. X
  953. X/* reset terminal to original state */
  954. Xvoid
  955. Xsettty(s)
  956. Xchar *s;
  957. X{
  958. X    clear_screen();
  959. X    end_screen();
  960. X    if(s) Printf(s);
  961. X    (void) fflush(stdout);
  962. X#ifdef MAIL    /* this is essential, or lib$spawn & lib$attach will fail */
  963. X    SMG$DISABLE_BROADCAST_TRAPPING(&pasteboard_id);
  964. X#endif
  965. X#if 0        /* let SMG's exit handler do the cleanup (as per doc) */
  966. X    SMG$DELETE_PASTEBOARD(&pasteboard_id);
  967. X    SMG$DELETE_VIRTUAL_KEYBOARD(&kb),  kb = 0;
  968. X#endif 0
  969. X    if (ctrl_mask)
  970. X        (void) LIB$ENABLE_CTRL(&ctrl_mask, 0);
  971. X    flags.echo = ON;
  972. X    flags.cbreak = OFF;
  973. X    if (tt_char_restore != 0) {
  974. X        sg.sm.tt_char = tt_char_restore;
  975. X        setctty();
  976. X    }
  977. X    settty_needed = FALSE;
  978. X}
  979. X
  980. X#ifdef MAIL
  981. Xstatic void
  982. Xbroadcast_ast(dummy)
  983. X{
  984. X    extern volatile int broadcasts;
  985. X
  986. X    broadcasts++;
  987. X}
  988. X#endif
  989. X
  990. Xvoid
  991. Xsetftty(){
  992. X    unsigned int mask = LIB$M_CLI_CTRLT | LIB$M_CLI_CTRLY;
  993. X
  994. X    flags.cbreak = ON;
  995. X    flags.echo = OFF;
  996. X    (void) LIB$DISABLE_CTRL(&mask, 0);
  997. X    if (kb == 0) {        /* do this stuff once only */
  998. X    SMG$CREATE_VIRTUAL_KEYBOARD(&kb);
  999. X    SMG$CREATE_PASTEBOARD(&pasteboard_id, 0, 0, 0, 0);
  1000. X    }
  1001. X#ifdef MAIL
  1002. X    /* note side effect: also intercepts hangup notification */
  1003. X    SMG$SET_BROADCAST_TRAPPING(&pasteboard_id, broadcast_ast, 0);
  1004. X#endif
  1005. X    /* disable tab & form-feed expansion */
  1006. X    if (tt_char_active != 0) {
  1007. X        sg.sm.tt_char = tt_char_active;
  1008. X        setctty();
  1009. X    }
  1010. X    start_screen();
  1011. X    settty_needed = TRUE;
  1012. X}
  1013. X
  1014. X
  1015. Xvoid
  1016. Xintron() {        /* enable kbd interupts if enabled when game started */
  1017. X}
  1018. X
  1019. Xvoid
  1020. Xintroff() {        /* disable kbd interrupts if required*/
  1021. X}
  1022. X
  1023. X
  1024. X/* fatal error */
  1025. X/*VARARGS1*/
  1026. Xvoid
  1027. Xerror VA_DECL(const char *,s)
  1028. X    VA_START(s);
  1029. X    VA_INIT(s, const char *);
  1030. X    if(settty_needed)
  1031. X        settty(NULL);
  1032. X    Vprintf(s,VA_ARGS);
  1033. X    (void) putchar('\n');
  1034. X    VA_END();
  1035. X    exit(1);
  1036. X}
  1037. END_OF_FILE
  1038. if test 6446 -ne `wc -c <'vms/vmstty.c'`; then
  1039.     echo shar: \"'vms/vmstty.c'\" unpacked with wrong size!
  1040. fi
  1041. # end of 'vms/vmstty.c'
  1042. echo shar: End of archive 24 \(of 24\).
  1043. cp /dev/null ark24isdone
  1044. MISSING=""
  1045. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ; do
  1046.     if test ! -f ark${I}isdone ; then
  1047.     MISSING="${MISSING} ${I}"
  1048.     fi
  1049. done
  1050. if test "${MISSING}" = "" ; then
  1051.     echo You have unpacked all 24 archives.
  1052.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1053. else
  1054.     echo You still need to unpack the following archives:
  1055.     echo "        " ${MISSING}
  1056. fi
  1057. ##  End of shell archive.
  1058. exit 0
  1059.